<?php
/**
 * 文章连接类
 * User: lhh
 * Date: 2016/8/30
 * Time: 14:44
 */
namespace Mysql;

class ArticleModel extends \Mysql\AbstractModel {

    /**
     * 表名
     *
     * @var string
     */
    protected $_tableName = 'cy_article';

    /**
     * 主键
     *
     * @var string
     */
    protected $_primaryKey = 'article_id';

    /**
     * 类实例

     * @var \Mysql\UserModel
     */
    private static $_instance = null;

    /**
     * 获取类实例
     *
     * @return \Mysql\UserModel
     */
    public static function getInstance() {
        if (!(self::$_instance instanceof self)) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }

    /**
     * 获取列表信息
     * @param $where  查询条件
     * @param int $page_size 每页显示数目
     * @param int $now_page 第几页
     * @param string $order 排序方式
     * @param string $columns 返回字段
     * @return array
     */
    public function getPageList($where,$page_size=20,$now_page=1,$order='add_time desc',$columns='*'){
        $offset = ($now_page-1)*$page_size;
        $data  = $this->fetchAll($columns,$where,$order,$page_size,$offset);
        if(!empty($data)){
            foreach($data as $key=>$val){
                $data[$key]['thumb'] = $val['thumb'];
                $data[$key]['time_name'] = \CommonFun::formatTime($val['add_time']);
            }
        }
        return $data;
    }

    /**
     * 获取文章详细信息
     * @param $article_id 文章ID
     * @return array|null
     */
    public function getRow($article_id){
        $row = $this->findRow(array('article_id'=>$article_id,'status'=>1),array('article_id','title','add_time'));
        if(!empty($row)){
            $mysql = ArticleExtendModel::getInstance();
            $extend_data = $mysql->findRow(array('article_id_extend'=>$article_id),array('content_extend'));
            if($extend_data){
                $row['content'] = $extend_data['content_extend'];
            }
        }
        return $row;
    }
}
